Robot for traversing obstacles

ABSTRACT

Aspects of the present disclosure include methods, apparatuses, and computer readable media of traversing an obstacle including receiving optical data associated with an area near the robot, identifying the obstacle in the area based on the optical data, deflating, in response to identifying the obstacle, a ball of the robot, and applying a downward force through the deflated ball to propel the robot over the obstacle.

TECHNICAL FIELD

The present disclosure relates to a robot for traversing obstacles.

BACKGROUND

As technology advances, robots are becoming more prevalent in the homesof consumers. Robot may be utilized to clean homes, wash and dryclothes, care for the elderly, and/or offer companionship to the owners.In order to adapt to different designs and layouts of homes, it may bedesirable for robots to properly navigate and traverse differentobstacles typically found in homes.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DETAILEDDESCRIPTION. This summary is not intended to identify key features ofthe claimed subject matter, nor is it intended to be used as an aid indetermining the scope of the claimed subject matter.

Aspects of the present disclosure include a method for traversing anobstacle including receiving optical data associated with an area nearthe robot, identifying the obstacle in the area based on the opticaldata, deflating, in response to identifying the obstacle, a ball of therobot, and applying a downward force through the deflated ball to propelthe robot over the obstacle.

Some aspects of the present disclosure include a robot including arotatable ball, a photodetector that receives optical data associatedwith an area near the robot, a pump assembly that inflates or deflatesthe rotatable ball, a pedestal assembly that applies a downward force,and a controller having a processor communicatively coupled with amemory having instructions stored therein, wherein the processorexecutes the instructions to perform the steps of: causing thephotodetector to receive the optical data associated with the area,identifying the obstacle in the area based on the optical data receivedby the photodetector, causing the pump assembly to deflate, in responseto identifying the obstacle, the rotatable ball of the robot, andcausing the pedestal assembly to apply the downward force through thedeflated ball to propel the robot over the obstacle.

One aspect of the present disclosure include a non-transitory computerreadable medium having instructions stored therein that, when executedby a processor of a robot, cause the processor to perform the steps ofcausing a photodetector to receive optical data associated with an areanear the robot, identifying an obstacle in the area based on the opticaldata received by the photodetector, causing the pump assembly todeflate, in response to identifying the obstacle, a rotatable ball ofthe robot, and causing the pedestal assembly to apply the downward forcethrough the deflated ball to propel the robot over the obstacle

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed to be characteristic of aspects of thedisclosure are set forth in the appended claims. In the description thatfollows, like parts are marked throughout the specification and drawingswith the same numerals, respectively. The drawing figures are notnecessarily drawn to scale and certain figures may be shown inexaggerated or generalized form in the interest of clarity andconciseness. The disclosure itself, however, as well as a preferred modeof use, further objects and advantages thereof, will be best understoodby reference to the following detailed description of illustrativeaspects of the disclosure when read in conjunction with the accompanyingdrawings, wherein:

FIG. 1 illustrates an example of a robot for traversing obstacles inaccordance with aspects of the present disclosure;

FIG. 2 illustrates an example of a robot navigating in accordance withaspects of the present disclosure;

FIG. 3 illustrates another example of a robot traversing an obstacle inaccordance with aspects of the present disclosure;

FIG. 4 illustrates an example of a robot traversing a drop-off inaccordance with aspects of the present disclosure;

FIG. 5 illustrates an example of a method of a robot traversing anobstacle in accordance with aspects of the present disclosure;

FIG. 6 illustrates an example of a computer system in accordance withaspects of the present disclosure; and

FIG. 7 illustrates a block diagram of various example system componentsin accordance with aspects of the present disclosure.

DETAILED DESCRIPTION

The following includes definitions of selected terms employed herein.The definitions include various examples and/or forms of components thatfall within the scope of a term and that may be used for implementation.The examples are not intended to be limiting.

The term “processor,” as used herein, can refer to a device thatprocesses signals and performs general computing and arithmeticfunctions. Signals processed by the processor can include digitalsignals, data signals, computer instructions, processor instructions,messages, a bit, a bit stream, or other computing that can be received,transmitted and/or detected. A processor, for example, can includemicroprocessors, microcontrollers, digital signal processors (DSPs),field programmable gate arrays (FPGAs), programmable logic devices(PLDs), state machines, gated logic, discrete hardware circuits, andother suitable hardware configured to perform the various functionalitydescribed herein.

The term “bus,” as used herein, can refer to an interconnectedarchitecture that is operably connected to transfer data betweencomputer components within a singular or multiple systems. The bus canbe a memory bus, a memory controller, a peripheral bus, an external bus,a crossbar switch, and/or a local bus, among others. The bus can also bea robot bus that interconnects components inside a robot using protocolssuch as Controller Area network (CAN), Local Interconnect Network (LIN),among others.

The term “memory,” as used herein, can include volatile memory and/ornonvolatile memory. Non-volatile memory can include, for example, ROM(read only memory), PROM (programmable read only memory), EPROM(erasable PROM) and EEPROM (electrically erasable PROM). Volatile memorycan include, for example, RAM (random access memory), synchronous RAM(SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rateSDRAM (DDR SDRAM), and direct RAM bus RAM (DRRAM).

The term “operable connection,” as used herein, can include a connectionby which entities are “operably connected”, is one in which signals,physical communications, and/or logical communications can be sentand/or received. An operable connection can include a physicalinterface, a data interface and/or an electrical interface.

In an aspect of the present disclosure, a robot may include a ball at abottom portion closer to the ground than a top portion (interchangeablyreferred to herein as a “bottom”) of the robot. The robot may rotate theball to move the robot across a surface. The robot may rely on one ormore gyroscopes and the ball to stabilize the robot in an uprightposition. For example, if the robot detects, via the one or moregyroscopes, that a top portion of the robot is leaning in a firstdirection, the robot may control the ball to roll such that a bottomportion of the robot moves toward the first direction, preventing thetop portion of the robot from toppling in the first direction.

In another aspect of the present disclosure, the robot may include apedestal assembly. When the robot is attempting to move upward (e.g., upa flight of stairs), the robot may deflate the ball, and extend apedestal of the pedestal assembly to propel the robot up the flight ofstairs. The pedestal may assert a downward force against the deflatedball.

Turning to FIG. 1, in some aspects, a schematic view of a non-limitingexample of a robot for traversing obstacles 100 may include a casing102. The robot 100 may include a top portion 104 and a bottom portion106. The robot 100 may include a rotatable dome 110 having one or morephotodetectors 112. The one or more photodetectors 112 may includevisible light cameras, infra-red cameras, wide-angle cameras, or othercameras suitable for navigation. The robot 100 may include one or moregyroscope sensors 114. The one or more gyroscope sensors 114 may detectan orientation of the robot 100. The robot 100 may include a battery 116that provides electrical energy to other components of the robot 100.

In some variations, the robot 100 may include a pedestal assembly 140having a pedestal drive 142, an actuator 144, and a pedestal 146. Thepedestal assembly 140 may apply downward force to propel the robot 100over an obstacle. The robot 100 may include a drive assembly 150 thatrotates a ball 152 to move the robot 100 across a surface. The robot 100may include a pump assembly 160 having a pump 162 and a tube 164. Thepump assembly 160 may inflate or deflate the ball 152.

In some instances, the robot 100 may include a controller 120 having aprocessor 122 and a memory 130. The processor 122 may include anavigation component 124 that receives visual input from the one or morephotodetectors 112. The navigation module 124 may utilize the visualinput to analyze the paths of the robot 100. The processor 122 mayinclude a mobility component 126 that controls the movement of the ball152 via the drive assembly 150. The processor 122 may include anobstacle component 128 that controls the downward pressure exerted bythe pedestal assembly 140.

In some examples, if the navigation component 124 of the robot 100detects, via the one or more gyroscope sensors 114, that the top portion104 of the robot 100 is leaning toward a first direction, the robot maycause the ball 152 to roll such that the bottom portion 106 of the robot100 moves toward the first direction, preventing the top portion 104 ofthe robot 100 from toppling in the first direction.

In optional variations, the robot 100 may further include acommunications device (e.g., wireless modem, not shown) for providingwired or wireless computer communications utilizing various protocols tosend/receive electronic signals internally with respect to features andsystems within the robot 100 and with respect to external devices. Theseprotocols may include a wireless system utilizing RF communications(e.g., IEEE 802.11 (Wi-Fi), IEEE 802.15.1 (Bluetooth®)), a near fieldcommunication system (NFC) (e.g., ISO 13157), a local area network(LAN), a wireless wide area network (WWAN) (e.g., cellular) and/or apoint-to-point system. Additionally, the communications device of therobot 100 may be operably connected for internal computer communicationvia a bus (e.g., a CAN or a LIN protocol bus) to facilitate data inputand output between among features and systems.

In alternative variations, the one or more photodetectors 112 may bedisposed on the ball 152. For example, the one or more photodetectors112 may be disposed on the axis of the ball 152. In some examples, theone or more photodetectors 112 may be disposed inside the ball 152, andthe surface of the ball 152 may be transparent. In other examples, theone or more photodetectors 112 may be detachably coupled to the surfaceof the ball 152.

Turning now to FIG. 2, and referencing FIG. 1, in some aspects, thereinshown is an example of an environment 200 showing the robot 100 in theprocess of navigating. The robot 100 may intend to move in a direction202. The robot 100 may utilize the one or more photodetectors 112 toscan an area 210 around the robot 100 (e.g., 1 foot (ft), 2 ft, 3 ft, 5ft, 10 ft, etc.). Based on the images obtained by the one or morephotodetectors 112, the navigation component 124 of the robot 100 maydetermine that the area 210 does not include any obstacles that mayprevent the robot 100 from moving forward. In response to thedetermination, the mobility component 126 may cause the drive assembly150 to rotate the ball 152 to move the robot 100 in the direction 212into the area 210. In one non-limiting example, the driver assembly 150may include one or more rollers to rotate the ball 152 for movement.

Turning now to FIG. 3, and referencing FIG. 1, in some variations,therein shown is an example of an environment 300 showing the robot 100encountering an obstacle such as a barrier. The barrier 312 may be aflight of stairs. The robot 100 may intend to move in a direction 302.The robot 100 may utilize the one or more photodetectors 112 to scan anarea 310 near the robot 100 (e.g., 1 foot (ft), 2 ft, 3 ft, 5 ft, 10 ft,etc.). Based on the images obtained by the one or more photodetectors112, the navigation component 124 of the robot 100 may determine thatthe area 310 includes the barrier 312 that may prevent the robot 100from moving forward. In response to the determination, the obstaclecomponent 128 may cause the pump 162 of the pump assembly 160 to deflatethe ball 152. The pump 162 may include one or more fan blades that fillsthe tube 164 with a gas or remove the gas from the tube 164 by rotatingone direction or an opposite direction. Examples of the gas may includeair, nitrogen, argon, etc. The pump 162 may reduce a gas pressure in thetube 164 by removing the gas (e.g., air, molecular nitrogen, carbondioxide, etc.) out of the tube 164, which causes the gas in the ball 152to move into the tube 164. The pump 162 may continuously perform theprocess to fully or partially remove the gas in the ball 152.

In some non-limiting examples, after removing the gas or a portion ofthe gas from the ball 152, the obstacle component 128 may cause thepedestal drive 142 to actuate the actuator 144 in a downward motion. Thedownward motion of the actuator 144 may cause the pedestal 146 to movedownward and exert a force on the ball 152 (in a fully or partiallydeflated state as shown), and indirectly on a surface 320 the robot 100is on. The force exerted by the pedestal 146 may propel the robot 100 onto the barrier 312 (e.g., the lowest step of the flight of stairs). Insome examples, the pedestal drive 142 may exert the force so the robot100 “jumps” toward a top of the barrier 312.

In some instances, an obstacle component 128 may determine the forceapplied by the pedestal drive 142 based on one or more of the followingvariables: the hardness of the surface 320 (e.g., hardwood floor orcarpet), the height of the barrier 312, the width of the barrier 312,the depth of the barrier 312, the gas pressure remained inside the ball152, the distance between the robot 100 and the barrier 312, or otherfactors.

In a non-limiting example, after scaling the barrier 312, the obstaclecomponent 128 may cause the pump 162 of the pump assembly 160 to inflatethe ball 152. The pump 162 may increase a gas pressure in the tube 164by sending the gas (e.g., air, molecular nitrogen, carbon dioxide, etc.)into the tube 164, which causes the gas in the tube 164 to move into theball 152. The pump 162 may continuously perform the process to fully orpartially move the gas into the ball 152.

Turning now to FIG. 4, and referencing FIG. 1, in some variations,therein shown is an example of an environment 400 showing the robot 100encountering an obstacle, such as a drop-off 412. The drop-off 412 maybe a flight of stairs. The robot 100 may intend to move in a direction402. The robot 100 may utilize the one or more photodetectors 112 toscan an area 410 near the robot 100 (e.g., 1 foot (ft), 2 ft, 3 ft, 5ft, 10 ft, etc.). Based on the images obtained by the one or morephotodetectors 112, the navigation component 124 of the robot 100 maydetermine that the area 310 includes the drop-off 412 that may preventthe robot 100 from moving forward. In response to the determination, theobstacle component 128 may cause the pump 162 of the pump assembly 160to inflate the ball 152 (if previously deflated). The pump 162 mayincrease a gas pressure in the tube 164 by sending the gas (e.g., air,molecular nitrogen, carbon dioxide, etc.) into the tube 164, whichcauses the gas in the tube 164 to move into the ball 152. The pump 162may continuously perform the process to fully or partially move the gasinto the ball 152.

In some non-limiting examples, after adding (if necessary) the gas or aportion of the gas into the ball 152, the obstacle component 128 maycause the pedestal drive 142 to actuate the actuator 144 in a downwardmotion. The downward motion of the actuator 144 may cause the pedestal146 to move downward and exert a force on the ball 152 (in a fully orpartially inflated state as shown), and indirectly on a surface 420 therobot 100 is on. The force exerted by the pedestal 146 may propel therobot 100 into to the drop-off 412 (e.g., the highest step of the flightof stairs). In some examples, the pedestal drive 142 may exert the forceso the robot 100 gently “hops” into the drop-off 412. In anotherimplementation, the pump 162 of the pump assembly 160 may deflate theball 152, and one or more secondary pedestal may push the robot 100around the pedestal 146.

In some instances, the obstacle component 128 may determine the forceapplied by the pedestal drive 142 based on one or more of the followingvariables: the hardness of the surface 420 (e.g., hardwood floor orcarpet), the height of the drop-off 412, the width of the drop-off 412,the depth of the drop-off 412, the gas pressure remained inside the ball152, the distance between the robot 100 and the drop-off 412, or otherfactors.

Turning to FIG. 5, an example of a method 500 for traversing an obstaclemay be performed by various components including, for example, one ormore of the following: the processor 122, the one or more gyroscopesensors 114, the pedestal assembly 140, and/or the pump assembly 160.

At block 510, the method 500 may receive optical data associated with anarea near the robot. For example, the one or more photodetectors 112and/or the navigation component 124 of the robot 100 may receive opticaldata of the area 310. The area 310 may be within 3 meters, 2.5 meters, 2meters, 1.5 meters, 1 meter, 0.5 meter, or shorter distance of the robot100.

At block 520, the method 500 may identify an obstacle in the area. Forexample, the navigation component 124 may identify the barrier 312(e.g., lowest step of the staircase) in the area 310.

At block 530, the method 500 may deflate, in response to identifying theobstacle, a ball of the robot. For example, the obstacle component 128of the robot 100 may cause the pump 162 of the pump assembly to deflatethe ball 152 of the robot 100.

At block 540, the method 500 may apply a downward force through thedeflated ball to propel the robot over the obstacle. For example,obstacle component 128 of the robot 100 may cause the pedestal drive 142to actuate the actuator 144 and the pedestal 146 to apply a downwardforce via the deflated ball 152. The downward force may cause the robot100 to “jump” over and/or onto the barrier 312.

Aspects of the present disclosures may be implemented using hardware,software, or a combination thereof and may be implemented in one or morecomputer systems or other processing systems. In an aspect of thepresent disclosures, features are directed toward one or more computersystems capable of carrying out the functionality described herein. Forexample, the controller 120 may be implemented as the computer system2000. An example of such the computer system 2000 is shown in FIG. 6.

The computer system 2000 includes one or more processors, such asprocessor 2004. The processor 2004 is connected to a communicationinfrastructure 2006 (e.g., a communications bus, cross-over bar, ornetwork). Various software aspects are described in terms of thisexample computer system. After reading this description, it will becomeapparent to a person skilled in the relevant art(s) how to implementaspects of the disclosures using other computer systems and/orarchitectures.

The computer system 2000 may include a display interface 2002 thatforwards graphics, text, and other data from the communicationinfrastructure 2006 (or from a frame buffer not shown) for display on adisplay unit 2030. Computer system 2000 also includes a main memory2008, preferably random access memory (RAM), and may also include asecondary memory 2010. The secondary memory 2010 may include, forexample, a hard disk drive 2012, and/or a removable storage drive 2014,representing a floppy disk drive, a magnetic tape drive, an optical diskdrive, a universal serial bus (USB) flash drive, etc. The removablestorage drive 2014 reads from and/or writes to a removable storage unit2018 in a well-known manner. Removable storage unit 2018 represents afloppy disk, magnetic tape, optical disk, USB flash drive etc., which isread by and written to removable storage drive 2014. As will beappreciated, the removable storage unit 2018 includes a computer usablestorage medium having stored therein computer software and/or data.

Alternative aspects of the present disclosures may include secondarymemory 2010 and may include other similar devices for allowing computerprograms or other instructions to be loaded into computer system 2000.Such devices may include, for example, a removable storage unit 2022 andan interface 2020. Examples of such may include a program cartridge andcartridge interface (such as that found in video game devices), aremovable memory chip (such as an erasable programmable read only memory(EPROM), or programmable read only memory (PROM)) and associated socket,and the removable storage unit 2022 and interface 2020, which allowsoftware and data to be transferred from the removable storage unit 2022to computer system 2000.

Computer system 2000 may also include a communications interface 2024.Communications interface 2024 allows software and data to be transferredbetween computer system 2000 and external devices. Examples ofcommunications interface 2024 may include a modem, a network interface(such as an Ethernet card), a communications port, a Personal ComputerMemory Card International Association (PCMCIA) slot and card, etc.Software and data transferred via communications interface 2024 are inthe form of signals 2028, which may be electronic, electromagnetic,optical or other signals capable of being received by communicationsinterface 2024. These signals 2028 are provided to communicationsinterface 2024 via a communications path (e.g., channel) 2026. This path2026 carries signals 2028 and may be implemented using wire or cable,fiber optics, a telephone line, a cellular link, an RF link and/or othercommunications channels. In this document, the terms “computer programmedium” and “computer usable medium” are used to refer generally tomedia such as a removable storage unit 2018, a hard disk installed inhard disk drive 2012, and signals 2028. These computer program productsprovide software to the computer system 2000. Aspects of the presentdisclosures are directed to such computer program products.

Computer programs (also referred to as computer control logic) arestored in main memory 2008 and/or secondary memory 2010. Computerprograms may also be received via communications interface 2024. Suchcomputer programs, when executed, enable the computer system 2000 toperform the features in accordance with aspects of the presentdisclosures, as discussed herein. In particular, the computer programs,when executed, enable the processor 2004 to perform the features inaccordance with aspects of the present disclosures. Accordingly, suchcomputer programs represent controllers of the computer system 2000.

In an aspect of the present disclosures where the method is implementedusing software, the software may be stored in a computer program productand loaded into computer system 2000 using removable storage drive 2014,hard disk drive 2012, or the interface 2020. The control logic(software), when executed by the processor 2004, causes the processor2004 to perform the functions described herein. In another aspect of thepresent disclosures, the system is implemented primarily in hardwareusing, for example, hardware components, such as application specificintegrated circuits (ASICs). Implementation of the hardware statemachine so as to perform the functions described herein will be apparentto persons skilled in the relevant art(s).

FIG. 7 is a block diagram of various example system components, inaccordance with an aspect of the present disclosure. FIG. 7 shows acommunication system 2100 usable in accordance with the presentdisclosure. The communication system 2100 includes one or more accessors2160, 2162 (also referred to interchangeably herein as one or more“users”) and one or more terminals 2142, 2166. In one aspect, data foruse in accordance with aspects of the present disclosure is, forexample, input and/or accessed by the one or more accessors 2160, 2162via the one or more terminals 2142, 2166, such as personal computers(PCs), minicomputers, mainframe computers, microcomputers, telephonicdevices, or wireless devices, such as personal digital assistants(“PDAs”) or a hand-held wireless devices coupled to a server 2143, suchas a PC, minicomputer, mainframe computer, microcomputer, or otherdevice having a processor and a repository for data and/or connection toa repository for data, via, for example, a network 2144, such as theInternet or an intranet, and couplings 2145, 2146, 2164. The couplings2145, 2146, 2164 include, for example, wired, wireless, or fiberopticlinks. In another example variation, the method and system in accordancewith aspects of the present disclosure operate in a stand-aloneenvironment, such as on a single terminal.

It will be appreciated that various implementations of theabove-disclosed and other features and functions, or alternatives orvarieties thereof, may be desirably combined into many other differentsystems or applications. Also that various presently unforeseen orunanticipated alternatives, modifications, variations, or improvementstherein may be subsequently made by those skilled in the art which arealso intended to be encompassed by the following claims.

What is claimed is:
 1. A method of traversing an obstacle by a robotcomprising: receiving optical data associated with an area near therobot; identifying the obstacle in the area based on the optical data;deflating, in response to identifying the obstacle, a ball of the robot;and applying a downward force through the deflated ball to propel therobot over the obstacle.
 2. The method of claim 1, comprising scanningthe area with one or more photodetectors prior to receiving the opticaldata.
 3. The method of claim 1, wherein the obstacle is a stair case. 4.The method of claim 1, comprising, inflating the ball after applying thedownward force to propel the robot.
 5. The method of claim 4, comprisingrotating the ball to move the robot.
 6. The method of claim 4,comprising: receiving second optical data associated with a second areanear the robot; identifying a drop-off in the second area based on thesecond optical data; and applying a second downward force through theinflated ball to propel the robot into the drop-off.
 7. A robotcomprising: a rotatable ball; a photodetector that receives optical dataassociated with an area near the robot; a pump assembly that inflates ordeflates the rotatable ball; a pedestal assembly that applies a downwardforce; and a controller having a processor communicatively coupled witha memory having instructions stored therein, wherein the processorexecutes the instructions to: receive the optical data associated withthe area near the robot from the photodetector; identify the obstacle inthe area based on the optical data received by the photodetector;transmit a first control signal to the pump assembly to deflate, inresponse to identifying the obstacle, the rotatable ball of the robot;and transmit a second control signal to the pedestal assembly to applythe downward force through the deflated ball to propel the robot overthe obstacle.
 8. The robot of claim 7, comprising a battery thatsupplies electrical energy to the robot.
 9. The robot of claim 7,comprising a drive assembly that rotates the rotatable ball to move therobot.
 10. The robot of claim 9, comprising a gyroscope.
 11. The robotof claim 10, wherein the processor executes the instructions to: receiveorientation data from the gyroscope; detect, via the orientation data, atop portion of the robot leaning toward a direction; and transmit athird control signal to the drive assembly to rotate the rotatable ballto move the robot toward the direction.
 12. The robot of claim 7,wherein the obstacle is a barrier.
 13. The robot of claim 7, wherein theprocessor further executes the instructions to: transmit a third controlsignal to the photodetector to receive second optical data associatedwith a second area near the robot; identify a drop-off in the secondarea based on the second optical data; transmit a fourth control signalto the pump assembly to inflate the deflated ball transmit a fifthcontrol signal to the pedestal assembly to apply a second downward forcethrough the inflated ball to propel the robot into the drop-off.
 14. Therobot of claim 7, further comprising a communication interface thatwirelessly communicates with one or more external devices.
 15. The robotof claim 7, wherein the photodetector is disposed on a dome of the robotor on the ball of the robot.
 16. A non-transitory computer readablemedium having instructions stored therein that, when executed by aprocessor of a robot, cause the processor to: receive optical dataassociated with an area near the robot from a photodetector; identifyingan obstacle in the area based on the optical data received by thephotodetector; transmit a first control signal to the pump assembly todeflate, in response to identifying the obstacle, a rotatable ball ofthe robot; and transmit a second control signal to the pedestal assemblyto apply the downward force through the deflated ball to propel therobot over the obstacle.
 17. The non-transitory computer readable mediumof claim 16, further comprising instructions stored therein that, whenexecuted by the processor, cause the processor to transmit a thirdcontrol signal to the photodetector to scan the area prior to receivingthe optical data.
 18. The non-transitory computer readable medium ofclaim 16, further comprising instructions stored therein that, whenexecuted by the processor, cause the processor to transmit a fourthcontrol signal to the pump assembly to inflate the ball after thepedestal assembly applies the downward force.
 19. The non-transitorycomputer readable medium of claim 18, further comprising instructionsstored therein that, when executed by the processor, cause the processorto transmit a fifth control signal to a drive assembly to rotate theball to move the robot.
 20. The non-transitory computer readable mediumof claim 18, further comprising instructions stored therein that, whenexecuted by the processor, cause the processor to: transmit a fifthcontrol signal to the photodetector to receive second optical dataassociated with a second area near the robot; identify a drop-off in thesecond area based on the second optical data; and transmit a sixthcontrol signal to the pedestal assembly to apply a second downward forcethrough the inflated ball to propel the robot into the drop-off.